package cn.ffcs.bpmpvc.services;

import java.io.File;
import java.util.List;

import cn.ffcs.bpm.model.ProcTranRecord;
import cn.ffcs.bpmpvc.dao.AppSmsDao;
import cn.ffcs.bpmpvc.model.AppSms;
import cn.ffcs.bpmpvc.svc.ProcessPvcService;
import cn.ffcs.bpmpvc.svc.TaskAssignBean;
import cn.ffcs.bpmpvc.svc.TaskService;
import cn.ffcs.organ.model.Person;

/**
 * 短、彩信业务申请
 * @author wujy
 *
 */
public interface AppSmsService {
	public ProcessPvcService getProcessPvcService();
	public TaskService getTaskService();
	public AppBusinessReqService getAppBusinessReqService();
	public AppSmsDao getAppSmsDao();
	/**
	 * 保存业务数据，启动流程
	 * @param processConfigId
	 * @param person
	 * @param nextTasksList
	 * @param isCommit
	 * @param appSms
	 * @param uploads
	 * @param fileNames
	 * @return
	 * @throws Exception
	 */
	public ProcTranRecord saveAndStartFlow(String processConfigId, Person person, List<TaskAssignBean> nextTasksList, boolean isCommit, AppSms appSms, List<File> uploads,List<String> fileNames) throws Exception;
	/**
	 * 保存提交申请任务
	 * @param flowTaskId
	 * @param content
	 * @param nextTasksList
	 * @param isCommit
	 * @param appSms
	 * @throws Exception
	 */
	public void commitApplyTask(String flowTaskId,String content, List<TaskAssignBean> nextTasksList, boolean isCommit,AppSms appSms,List<File> uploads,List<String> fileNames, List<String> delDocumentIds) throws Exception;
	public void commitTask(String flowTaskId,String content, List<TaskAssignBean> nextTasksList, boolean isCommit,List<File> uploads,List<String> fileNames, List<String> delDocumentIds) throws Exception;
		;
}
